package concurrent.c_000_Thread;

/**
 * 在 JAVA 中创建线程只有一种方式，那就是构造 Thread 类。
 * 而实现线程的执行单元则有两种方式：
 * * 1：重写 Thread 类的 run 方法
 * * 2：实现 Runnable 接口的 run 方法，并且将 Runnable 实例用作构造 Thread 的参数
 * <p>
 * 启动线程的三种方式：
 * * 1：Thread
 * * 2：Runnable
 * * 3：Executors.newCachedThrad
 */
public class T02_CreateThread {
    public static void main(String[] args) {
        new MyThread().start();
        new Thread(new MyRun()).start();
        new Thread(() -> {
            System.out.println("Hello Lambda!");
        }).start();
    }

    static class MyThread extends Thread {
        @Override
        public void run() {
            System.out.println("Hello MyThread!");
        }
    }

    static class MyRun implements Runnable {
        @Override
        public void run() {
            System.out.println("Hello MyRun!");
        }
    }
}